Template এবং Style ব্যবহার করে View কাস্টমাইজ করা

Microsoft Technologies - এমভিভিএম (MVVM) View তৈরি এবং ডাটা বাইন্ডিং (Creating Views and Data Binding) |
59
59

MVVM প্যাটার্নে View কাস্টমাইজ করার জন্য Template এবং Style ব্যবহার করা হয়। এগুলি UI উপাদানগুলির (যেমন বোতাম, টেক্সটবক্স ইত্যাদি) লুক এবং ফাংশনালিটি কাস্টমাইজ করতে সাহায্য করে। Template এবং Style একটি অ্যাপ্লিকেশনের ব্যবহারকারীর অভিজ্ঞতাকে আরও আকর্ষণীয় এবং কার্যকরী করে তোলে।


Style কি এবং এটি কিভাবে ব্যবহার করা হয়?

Style UI উপাদানের দৃশ্যমানতা এবং লেআউট কাস্টমাইজ করার একটি উপায়। Style ব্যবহার করে আপনি একই ধরনের একাধিক UI উপাদানকে একটি সাধারণ স্টাইল প্রদান করতে পারেন, যা কোডের পুনঃব্যবহারযোগ্যতা বাড়ায় এবং অ্যাপ্লিকেশনটির এক্সটেনশন সহজ করে।

Style এর উপাদান:

  • TargetType: এই বৈশিষ্ট্যটি উল্লেখ করে, কোন UI উপাদানের জন্য স্টাইল প্রযোজ্য হবে। যেমন, যদি আপনি সমস্ত Button এর জন্য স্টাইল ব্যবহার করতে চান, তবে আপনি TargetType="Button" ব্যবহার করবেন।
  • Setters: Style এ বিভিন্ন বৈশিষ্ট্য সেট করা হয় যেমন রঙ, মার্জিন, প্যাডিং, ফন্ট সাইজ ইত্যাদি।

Style উদাহরণ:

<Window.Resources>
    <!-- Button এর জন্য একটি স্টাইল -->
    <Style TargetType="Button">
        <Setter Property="Background" Value="Green"/>
        <Setter Property="Foreground" Value="White"/>
        <Setter Property="FontSize" Value="14"/>
        <Setter Property="Padding" Value="10"/>
    </Style>
</Window.Resources>

<Grid>
    <Button Content="Click Me" Width="100" Height="50"/>
</Grid>

এই উদাহরণে, Button এর জন্য একটি স্টাইল তৈরি করা হয়েছে যা সব বাটনের ব্যাকগ্রাউন্ডকে সবুজ, টেক্সট রঙটিকে সাদা এবং ফন্ট সাইজকে ১৪ পিক্সেল করবে। যখনই আপনি Button ব্যবহার করবেন, এটি ঐ স্টাইলের মাধ্যমে কাস্টমাইজড হবে।


Template কি এবং এটি কিভাবে ব্যবহার করা হয়?

Template UI উপাদানগুলির স্ট্রাকচার এবং লেআউট কাস্টমাইজ করার একটি শক্তিশালী উপায়। ControlTemplate এবং DataTemplate হল দুটি প্রধান প্রকারের টেমপ্লেট, যা UI উপাদানের কন্টেন্ট এবং লেআউট নির্ধারণ করতে ব্যবহৃত হয়।

1. ControlTemplate:

ControlTemplate এর মাধ্যমে আপনি UI উপাদানের সারা কাঠামো এবং স্টাইল কাস্টমাইজ করতে পারেন। এটি UI উপাদানের রূপরেখা (structure) পরিবর্তন করতে দেয়, যেমন বাটন, টেক্সটবক্স বা স্লাইডার কিভাবে দেখাবে তা নির্ধারণ করা।

ControlTemplate উদাহরণ:

<Window.Resources>
    <!-- Button এর জন্য ControlTemplate -->
    <ControlTemplate TargetType="Button">
        <Border Background="DarkBlue" BorderBrush="Black" BorderThickness="2">
            <TextBlock Text="{Binding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White"/>
        </Border>
    </ControlTemplate>
</Window.Resources>

<Grid>
    <Button Content="Click Me" Width="150" Height="50"/>
</Grid>

এই উদাহরণে, Button এর পুরো কাঠামো কাস্টমাইজ করা হয়েছে। এখানে Button এর মধ্যে থাকা টেক্সট এবং ব্যাকগ্রাউন্ডের ডিজাইন পুরোপুরি কাস্টমাইজড হয়েছে। ControlTemplate-এ টেক্সট এবং ব্যাকগ্রাউন্ড পরিবর্তন করতে আপনি একটি Border এবং TextBlock ব্যবহার করেছেন।

2. DataTemplate:

DataTemplate এর মাধ্যমে আপনি একটি ডেটা আইটেমের জন্য UI উপাদান কাস্টমাইজ করতে পারেন। এটি ডেটাবাইন্ড UI উপাদানগুলির জন্য ব্যবহার হয়, যেমন ListView বা ComboBox, যেখানে আপনি ডেটার নির্দিষ্ট প্রপার্টি UI উপাদানের মধ্যে প্রদর্শন করতে পারেন।

DataTemplate উদাহরণ:

<Window.Resources>
    <!-- DataTemplate এর মাধ্যমে ListItem কাস্টমাইজ করা -->
    <DataTemplate x:Key="ProductTemplate">
        <StackPanel>
            <TextBlock Text="{Binding Name}" FontWeight="Bold"/>
            <TextBlock Text="{Binding Price}" Foreground="Green"/>
        </StackPanel>
    </DataTemplate>
</Window.Resources>

<ListView ItemsSource="{Binding Products}" ItemTemplate="{StaticResource ProductTemplate}"/>

এই উদাহরণে, DataTemplate ব্যবহার করে ListView এ প্রতিটি প্রোডাক্ট আইটেমের জন্য কাস্টম লেআউট তৈরি করা হয়েছে। Products হল একটি Collection যা Name এবং Price প্রপার্টি ধারণ করে, এবং DataTemplate এর মাধ্যমে সেই ডেটা UI-তে কাস্টমভাবে প্রদর্শিত হচ্ছে।


Template এবং Style এর মধ্যে পার্থক্য

  • Style ব্যবহার করে UI উপাদানের অপটিক্যাল পরিবর্তন (যেমন রঙ, ফন্ট সাইজ, প্যাডিং ইত্যাদি) করা হয়, কিন্তু এটি UI কাঠামো পরিবর্তন করে না।
  • Template ব্যবহার করে UI উপাদানের কাঠামো এবং স্ট্রাকচার পরিবর্তন করা যায়, এবং এটি UI উপাদানগুলির ভিতরের অংশের সমস্ত লেআউট কাস্টমাইজ করতে সাহায্য করে।

Style এবং Template এর সুবিধা

  1. কোড পুনঃব্যবহারযোগ্যতা: একাধিক UI উপাদানকে একই Style প্রয়োগ করে, কোড কমানো যায় এবং অ্যাপ্লিকেশনের প্রতিটি অংশে একরকম ডিজাইন বজায় রাখা যায়।
  2. UI কাস্টমাইজেশন: ControlTemplate এবং DataTemplate ব্যবহার করে, আপনি UI উপাদানগুলির চেহারা এবং আচরণ সম্পূর্ণভাবে কাস্টমাইজ করতে পারবেন।
  3. স্বচ্ছতা ও মেইনটেনেবল কোড: UI ডিজাইন এবং বিজনেস লজিকের মধ্যে পরিষ্কার বিভাজন তৈরি হয়, যার ফলে কোড মেইনটেন করা সহজ হয়।

সারাংশ

Template এবং Style হল MVVM প্যাটার্নের মধ্যে View কাস্টমাইজেশন প্রক্রিয়া। Style UI উপাদানগুলির অ্যাপিয়ারেন্স পরিবর্তন করে, যেখানে Template UI উপাদানের কাঠামো এবং লেআউট পরিবর্তন করে। এগুলি ডেভেলপারদের জন্য কোড পুনঃব্যবহারযোগ্য এবং মেইনটেনযোগ্য অ্যাপ্লিকেশন তৈরি করার ক্ষেত্রে সহায়ক।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion